package com.clock.shop.domain;

import java.util.Date;

import com.clock.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.clock.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 订单对象 shop_order
 *
 * @author ruoyi
 * @date 2024-10-12
 */
public class ShopOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单ID */
    private Long orderId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 支付金额精确到2位小数;单位:元。如:200.07，表示:200元7分 */
    @Excel(name = "支付金额精确到2位小数;单位:元。如:200.07，表示:200元7分")
    private Long paymoney;

    /** 付款类型，（’0‘表示在线支付，’1‘表示线下支付） */
    @Excel(name = "付款类型，", readConverterExp = "’=0‘表示在线支付，’1‘表示线下支付")
    private String paymentType;

    /** 订单开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderStart;

    /** 订单结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderOver;

    /** 订单暂停时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单暂停时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderPause;

    /** 服务名称 */
    @Excel(name = "服务名称")
    private String serviceName;

    /** 订单状态（数字‘0’表示未开始，数字‘1’表示进行中，数字‘2’表示已结束 */
    @Excel(name = "订单状态", readConverterExp = "订单状态（数字‘0’表示未开始，数字‘1’表示进行中，数字‘2’表示已结束")
    private String orderStatus;

    /** 优惠券ID */
    @Excel(name = "优惠券ID")
    private Long couponId;

    /** 优惠券金额 */
    @Excel(name = "优惠券金额")
    private Integer couponPrice;

    /** 支付状态，0-未支付，1-已支付 */
    @Excel(name = "支付状态，0-未支付，1-已支付")
    private String payStatus;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 店铺ID */
    @Excel(name = "店铺ID")
    private Long shopId;

    /** 店员ID */
    @Excel(name = "店员ID")
    private Long employeeId;

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setPaymoney(Long paymoney)
    {
        this.paymoney = paymoney;
    }

    public Long getPaymoney()
    {
        return paymoney;
    }
    public void setPaymentType(String paymentType)
    {
        this.paymentType = paymentType;
    }

    public String getPaymentType()
    {
        return paymentType;
    }
    public void setOrderStart(Date orderStart)
    {
        this.orderStart = orderStart;
    }

    public Date getOrderStart()
    {
        return orderStart;
    }
    public void setOrderOver(Date orderOver)
    {
        this.orderOver = orderOver;
    }

    public Date getOrderOver()
    {
        return orderOver;
    }
    public void setOrderPause(Date orderPause)
    {
        this.orderPause = orderPause;
    }

    public Date getOrderPause()
    {
        return orderPause;
    }
    public void setServiceName(String serviceName)
    {
        this.serviceName = serviceName;
    }

    public String getServiceName()
    {
        return serviceName;
    }
    public void setOrderStatus(String orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus()
    {
        return orderStatus;
    }
    public void setCouponId(Long couponId)
    {
        this.couponId = couponId;
    }

    public Long getCouponId()
    {
        return couponId;
    }
    public void setCouponPrice(Integer couponPrice)
    {
        this.couponPrice = couponPrice;
    }

    public Integer getCouponPrice()
    {
        return couponPrice;
    }
    public void setPayStatus(String payStatus)
    {
        this.payStatus = payStatus;
    }

    public String getPayStatus()
    {
        return payStatus;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setShopId(Long shopId)
    {
        this.shopId = shopId;
    }

    public Long getShopId()
    {
        return shopId;
    }
    public void setEmployeeId(Long employeeId)
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId()
    {
        return employeeId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("orderId", getOrderId())
                .append("userId", getUserId())
                .append("paymoney", getPaymoney())
                .append("paymentType", getPaymentType())
                .append("createTime", getCreateTime())
                .append("orderStart", getOrderStart())
                .append("orderOver", getOrderOver())
                .append("orderPause", getOrderPause())
                .append("serviceName", getServiceName())
                .append("orderStatus", getOrderStatus())
                .append("couponId", getCouponId())
                .append("couponPrice", getCouponPrice())
                .append("payStatus", getPayStatus())
                .append("payTime", getPayTime())
                .append("shopId", getShopId())
                .append("employeeId", getEmployeeId())
                .append("updateTime", getUpdateTime())
                .toString();
    }


}
